package review.Day_0329;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

/**
 * @author zxc
 * @date 2023/03/29 16:09
 **/
public class Solution01 {
    public boolean isAnagram(String s, String t) {
        // 字符串s和t,长度不一致 && 字符串s和t完全一致，则代表了其不是一组变位词
        if(s.length() != t.length() || s.equals(t)){
            return false;
        }
        // 字符串s和t，分别转换为字符数组arr1和arr2;
        char[] arr1 = s.toCharArray();
        char[] arr2 = t.toCharArray();
        // 对于字符数组arr1和arr2进行排序，若是排序后的结果是一样的话，则代表其为一组变位词;
        Arrays.sort(arr1);
        Arrays.sort(arr2);
        return Arrays.equals(arr1 , arr2);
//        Map<Character , Integer> hashmap = new HashMap<>();
//        // 字符串s中，每个字符ch都添加到hashmap中;
//        for (char ch : s.toCharArray()) {
//            hashmap.put(ch , hashmap.getOrDefault(ch , 0) + 1);
//        }
//        for (char ch : t.toCharArray()) {
//            // 遍历字符串t中每个字符，若是某个字符ch在哈希表中不存在 || 该字符在哈希表中对应value为0,则代表了其不是一组变位词
//            if(!hashmap.containsKey(ch) || hashmap.get(ch) == 0){
//                return false;
//            }
//            hashmap.put(ch , hashmap.get(ch) - 1);
//        }
//        return true;
    }
}
